package 笔试;

import java.util.Random;

public class 破坏相邻方块 {
    /*
    生成带有0,1,2不同方块的矩阵，选中一个方块之后破坏与他连接的相同的方块
     */
    public static void main(String[] args) {
        int x = 3;
        int y = 5;
        //生成8*8的随机矩阵，可以随意修改
        String[][] blocks = new String[8][8];
        Random random = new Random();
        for (int i = 0; i < blocks.length; i++) {
            for (int j = 0; j < blocks[i].length; j++) {
                //插入0-2的随机数
                blocks[i][j] = random.nextInt(3) + "";
            }
        }
        //破坏
        destroy(x, y, blocks);
    }
    /*
    要写的内容，破坏的方法
     */
    public static void destroy(int x, int y, String[][] lists) {
        String destroy = lists[x][y];
        //判断上方有没有值，查找上方值是否相同，相同则销毁
        if (x != 0 && lists[x - 1][y].equals(destroy)) {
            lists[x - 1][y] = "#";
        }
        //判断下方有没有值，查找下方值是否相同，相同则销毁
        if (x != lists.length-1 && lists[x + 1][y].equals(destroy)) {
            lists[x + 1][y] = "#";
        }
        //判断左方有没有值，查找左方值是否相同，相同则销毁
        if (y != 0 && lists[x][y - 1].equals(destroy)) {
            lists[x][y - 1] = "#";
        }
        //判断右方有没有值，查找右方值是否相同，相同则销毁
        if (y != lists[x].length-1 && lists[x][y + 1].equals(destroy)) {
            lists[x][y + 1] = "#";
        }
        //销毁该值
        lists[x][y] = "#";
        //遍历输出矩阵
        for (int i = 0; i < lists.length; i++) {
            for (int j = 0; j < lists[i].length; j++) {
                System.out.print(lists[i][j] + ",");
                if (j == lists[i].length - 1) {
                    System.out.println();
                }
            }
        }
    }
}
